Computing the Shortest Path:
نویسندگان
چکیده
We propose shortest path algorithms that use A* semch in combination with a new graph-theoretic lower-bounding technique based on landmarks and the triangle inequality. Our algorithms compute optimal shortest paths and work on any directed graph. We give experimental results showing that the most efficient of our new algorithms outperforms previous algorithms, in particular A* search with Euclidean bounds, by a wide margin on road networks and on some synthetic problem families. 1 I n t r o d u c t i o n The shortest pa th problem is a fundamental problem with numerous applications. In this paper we study one of the most common variants of the problem, where the goal is to find a point-to-point shortest pa th in a weighted, directed graph. We refer to this problem as the P2P problem. We assume that for the stone underlying network, the problem will be solved repeatedly. Thus, we allow preprocessing, with the only restriction that the additional space used to store precomputed data is limited: linear in the graph size with a small constant factor. Our goal is a fast algorithm for answering point-to-point shortest pa th queries. A natural application of the P2P problem is providing driving directions, for example services like Mapquest, Yahoo! Maps and Microsoft MapPoint, and some GPS devices. One can spend time preprocessing maps for these applications, but the underlying graphs are very large, so memory usage much exceeding the graph size is prohibitive. This motivates the linearspace assmnption. Shortest pa th problems have been extensively studied. The P2P problem with no preprocessing has been addressed, for example, in [21, 27, 29, 36]. While no nontrivial theoretical results are known for the general P2P problem, there has been work on the special case of undirected planar graphs with slightly superlinear pre-~rosoft Research, 1065 La Avenida, Mountain View, CA 94062. Email: goldberg0m:icrosoft, corn; URL: h t tp ://www. avglab, com/andrew/index, html. tComputer Science Division, UC Berkeley. Part of this work was done while the author was visiting Microsoft Research. Emaih chrishtrOcs, berkeley, edu. processing space. The best bound in this context (see [10]) is superlinear in the output pa th size unless the pa th is very long. Preprocessing using geometric information and hierarchical decomposition is discussed in [19, 28, 34]. Other related work includes algorithms for the single-source shortest pa th problem, such as [1, 4, 6, 7, 13, 14, 16, 17, 18, 22, 25, 32, 35], and algorithms for approximate shortest paths that use preprocessing [3, 23, a3]. Usually one can solve the P2P problem while searching only a small portion of the graph; the algori thm's running t ime then depends only on the number of visited vertices. This motivates an output-sensitive complexity measure tha t we adopt. We measure algorithm performance as a function of the number of vertices on the output path. Note that this measure has the additional benefit of being machine-independent. In Artificial Intelligence settings, one often needs to find a solution in a huge search space. The classical A search (also known as heuristic search) [8, 20] technique often finds a solution while searching a small subspace. A search uses estimates on distances to the destination to guide vertex selection in a search from the source. Pohl [27] studied the relationship between A search and Dijkstra 's algorithm in the context of the P2P problem. He observed that if the bounds used in A search are feasible (as defined in section 2), A search is equivalent to Dijkstra 's algorithm on a graph with nonnegative arc lengths and therefore finds the optimal path. In classical applications of A search to the P2P problem, distance bounds are implicit in the domain description, with no preprocessing required. For example, for Euclidean graphs, the Euclidean distance between two vertices gives a lower bound on the distance between them. Our first contribution is a new preprocessing-based technique for computing distance bounds. The preprocessing entails carefiflly choosing a small (constant) number of landmarks, then computing and storing shortest pa th distances between all vertices and each of these landmarks. Lower bounds are computed in constant t ime using these distances in combination with the triangle inequality. These lower bounds yield a new class of algorithms, which we call ALT algorithms since they are based on A search, landmarks, and the triangle inequality. Here we are talking about the triangle
منابع مشابه
Two optimal algorithms for finding bi-directional shortest path design problem in a block layout
In this paper, Shortest Path Design Problem (SPDP) in which the path is incident to all cells is considered. The bi-directional path is one of the known types of configuration of networks for Automated Guided Vehi-cles (AGV).To solve this problem, two algorithms are developed. For each algorithm an Integer Linear Pro-gramming (ILP) is determined. The objective functions of both algorithms are t...
متن کاملA New Algorithm for the Discrete Shortest Path Problem in a Network Based on Ideal Fuzzy Sets
A shortest path problem is a practical issue in networks for real-world situations. This paper addresses the fuzzy shortest path (FSP) problem to obtain the best fuzzy path among fuzzy paths sets. For this purpose, a new efficient algorithm is introduced based on a new definition of ideal fuzzy sets (IFSs) in order to determine the fuzzy shortest path. Moreover, this algorithm is developed for ...
متن کاملALGORITHMS FOR BIOBJECTIVE SHORTEST PATH PROBLEMS IN FUZZY NETWORKS
We consider biobjective shortest path problems in networks with fuzzy arc lengths. Considering the available studies for single objective shortest path problems in fuzzy networks, using a distance function for comparison of fuzzy numbers, we propose three approaches for solving the biobjective prob- lems. The rst and second approaches are extensions of the labeling method to solve the sing...
متن کاملShortest Path Problem with Gamma Probability Distribution Arc Length
We propose a dynamic program to find the shortest path in a network having gamma probability distributions as arc lengths. Two operators of sum and comparison need to be adapted for the proposed dynamic program. Convolution approach is used to sum two gamma probability distributions being employed in the dynamic program.
متن کاملImplementing parallel shortest path for parallel transportation applications
Shortest path algorithms are required by several transportation applications; furthermore, the shortest path computation in these applications can account for a large percentage of the total execution time. Since these algorithms are very computationally intense, parallel processing can provide the compute power and memory required to solve large problems quickly. Therefore, good parallel short...
متن کاملFinding the Shortest Hamiltonian Path for Iranian Cities Using Hybrid Simulated Annealing and Ant Colony Optimization Algorithms
The traveling salesman problem is a well-known and important combinatorial optimization problem. The goal of this problem is to find the shortest Hamiltonian path that visits each city in a given list exactly once and then returns to the starting city. In this paper, for the first time, the shortest Hamiltonian path is achieved for 1071 Iranian cities. For solving this large-scale problem, tw...
متن کامل